#ifndef _OCTREESDF_H_
#define _OCTREESDF_H_
#include <SEngine/Render/Entity/SDF.h>
#include <SEngine/Render/Entity/Octree.h>

namespace SEngine
{
    class OctreeSDF : public SDF
    {
    public:
        OctreeSDF(Octree && tree) : m_tree(std::move(tree)) {}
        virtual ~OctreeSDF() = default;
        virtual float Distance(const glm::vec3& point) override;
        virtual BoundingBox GetBounds() override;

    private:
        Octree m_tree;
    };
} // namespace SEngine


#endif